Add DMA handlers to targets
[betaflight.git] / docs / Spektrum bind.md
blob5bc060b77048016affd95731c53e273e8eb48acb
1 # Spektrum bind support
3 Spektrum bind with hardware bind plug support.
4  
5 The Spektrum bind code is actually enabled for the NAZE, NAZE32PRO, CJMCU, EUSTM32F103RC, SPARKY, CC3D, ALIENFLIGHTF1, ALIENFLIGHTF3 targets.
7 ## Configure the bind code
9 The following parameters can be used to enable and configure this in the related target.h file:
11     SPEKTRUM_BIND          Enables the Spektrum bind code
12     BIND_PORT  GPIOA       Defines the port for the bind pin
13     BIND_PIN   Pin_3       Defines the bind pin (the satellite receiver is connected to)
15 This is to activate the hardware bind plug feature
17     HARDWARE_BIND_PLUG     Enables the hardware bind plug feature
18     BINDPLUG_PORT  GPIOB   Defines the port for the hardware bind plug
19     BINDPLUG_PIN   Pin_5   Defines the hardware bind plug pin
21 ## Hardware
23 The hardware bind plug will be enabled via defining HARDWARE_BIND_PLUG during building of the firmware. BINDPLUG_PORT and BINDPLUG_PIN also need to be defined (please see above). This is done automatically if the AlienFlight firmware is built. The hardware bind plug is expected between the defined bind pin and ground. 
25 ## Function
27 The bind code will actually work for NAZE, NAZE32PRO, CJMCU, EUSTM32F103RC, SPARKY targets (USART2) and CC3D target (USART3, flex port). The spektrum_sat_bind CLI parameter is defining the number of bind impulses (1-10) send to the satellite receiver. Setting spektrum_sat_bind to zero will disable the bind mode in any case. The bind mode will only be activated after an power on or hard reset. Please refer to the table below for the different possible values.
29 If the hardware bind plug is configured the bind mode will only be activated if the plug is set during the firmware start-up. The value of the spektrum_sat_bind parameter will be permanently preserved. The bind plug should be always removed for normal flying.
31 If no hardware bind plug is used the spektrum_sat_bind parameter will trigger the bind process during the next hardware reset and will be automatically reset to "0" after this.
33 Please refer to the satellite receiver documentation for more details of the specific receiver in bind mode. Usually the bind mode will be indicated with some flashing LEDs.
35 ## Table with spektrum_sat_bind parameter value
37 | Value | Receiver mode     | Notes               |
38 | ----- | ------------------| --------------------|
39 | 3     | DSM2 1024bit/22ms |                     |
40 | 5     | DSM2 2048bit/11ms | default AlienFlight |
41 | 7     | DSMX 1024bit/22ms |                     |
42 | 9     | DSMX 2048bit/11ms |                     |
44 More detailed information regarding the satellite binding process can be found here:
45 http://wiki.openpilot.org/display/Doc/Spektrum+Satellite
47 ### Supported Hardware
49 NAZE, NAZE32PRO, CJMCU, SPARKY, EUSTM32F103RC, CC3D targets and ALIENWIIF1, ALIENWIIF3 targets with hardware bind plug
51 ### Connecting a Spektrum-compatible satellite to a Flip32+ flight controller
53 The Flip32/Flip32+ is wired in a rather strange way, i.e. the dedicated connector for the satellite module uses the same UART pins as the USB adapter. This means that you can't use that connector as it maps to UART1 which you really shouldn't assign to SERIAL_RX as that will break USB functionality. (Looks this problem is fixed in later versions of the Flip32/Flip32+)
55 In order to connect the satellite to a Flip32+, you have to wire the serial data pin to RC_CH4. This is the fourth pin from the top in the left column of the 3x6 header on the right side of the board. GND and +3.3V may either be obtained from the dedicated SAT connector or from any ground pin and pin 1 of the BOOT connector which also provides 3.3V.
57 #### Tested satellite transmitter combinations
59 | Satellite            | Remote         | Remark                                                   |
60 | -------------------- | -------------- | -------------------------------------------------------- |
61 | Orange R100          | Spektrum DX6i  | Bind value 3                                             |
62 | Lemon RX DSM2/DSMX   | Spektrum DX8   | Bind value 5                                             |
63 | Lemon RX DSMX        | Walkera Devo10 | Bind value 9, Deviation firmware 4.01 up to 12 channels  |
64 | Lemon RX DSM2        | Walkera Devo7  | Bind value 9, Deviation firmware                         |